Crate espflash

source ·
Expand description

A library and application for flashing Espressif devices over Serial

As an application

espflash can be installed using cargo install, and additionally supports installation via cargo-binstall:

$ cargo install espflash
$ cargo binstall espflash

Flashing via a Raspberry Pi’s internal UART is also possible, however this functionality is gated behind the raspberry feature; if you would like to enable this simply enable the feature when installing:

$ cargo install espflash --feature=raspberry

Note that this feature can only be enabled on a Raspberry Pi, as it depends on the rppal package which will not build on most systems.

As a library

espflash can also be used as a library:

espflash = { version = "2.0", default-features = false }

We add default-features here to disable the cli feature, which is enabled by default; you likely will not need any of these types or functions in your application so there’s no use pulling in the extra dependencies.

Just like when using espflash as an application, you can enable the raspberry feature to allow your dependent application to use the Raspberry Pi’s built-in UART:

espflash = { version = "2.0", default-features = false, features = ["raspberry"] }

Modules

  • clicli
    Types and functions for the command-line interface
  • Send commands to a target device
  • Establish a connection with a target device
  • ELF (Executable and Linkable Format) file operations
  • Library and application errors
  • Write a binary application to a target device
  • Supported binary image formats
  • Serial port wrapper to support platform-specific functionality
  • Logging utilities
  • Flashable target devices
  • Check for updates